package com.woniuxy.woniuhis.mapper;

import org.apache.ibatis.annotations.Param;

import com.woniuxy.woniuhis.entity.Room;

import java.util.List;

/***
 * 病房的增删改查
 */
public interface RoomMapper {
    /**
     * 添加一个病房
     *
     * @param room
     */
    void insertRoom(Room room);

    /**
     * 更新病房信息（主键必须有）
     *
     * @param room
     */
    void updateRoom(Room room);

    /**
     * 根据病房的id增加一定数量的床位剩余数（出院或者转院或者转病房）
     *
     * @param roomId 病房id
     * @param amount 增加数量
     */
    void addRoomLastBeds(@Param("roomId") String roomId, @Param("amount") Integer amount);

    /**
     * 根据病房的id减少一定数量的床位剩余数（出院或者转院或者转病房）
     *
     * @param roomId 病房id
     * @param amount 减少数量
     */
    void subRoomLastBeds(@Param("roomId") String roomId, @Param("amount") Integer amount);

    /**
     * 根据病房id查询病房的信息
     *
     * @param roomId 病房id
     * @return 病房所有信息
     */
    Room selectRoomById(String roomId);

    /**
     * 根据查询条件返回符合条件的病房集合
     *
     * @param condition 条件
     * @param pageNum   起始页数
     * @param pageSize  每页显示多少
     * @return 病房集合
     */
    List<Room> selectRoomListByCondition(@Param("room") Room condition, @Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
}
